import qs from 'qs'
// 封装请求方法
const request = (obj) => {
    obj.url = obj.url || ''; // 请求路径
    obj.method = obj.method || 'GET'; //请求方式
    obj.data = obj.data || {}; //请求携带的数据
    obj.header = obj.header || 'application/x-www-form-urlencoded'; //请求头信息 content-type
    //返回Promise对象
    return new Promise((resolve, reject) => {
        uni.request({
            url: import.meta.env.VITE_REQUEST + obj.url,
            method: obj.method,
            data: qs.stringify(obj.data),
            header: {
                'Content-Type': obj.header
            },
            success: res => {
                res = res.data;
                // 接口没有按照正常格式返回
                if (res.state == undefined) {
                    uni.showToast({ title: '接口返回格式错误', icon: "none", duration: 3000 });
                    reject(res);
                }

                // 接口正常报错
                if (res.state == 0) {
                    uni.showToast({ title: res.info, icon: "none", duration: 3000 });
                    reject(res);
                }

                // 接口正常运行
                if (res.state == 1) resolve(res);
            },
            fail: res => {
                uni.showToast({ title: '后端接口连接异常', icon: "none", duration: 3000 });
                reject(err);
            },
            complete: (res) => {
                // // 登录过期
                // if (res.data.state == 401) {
                //     uni.removeStorageSync('user');//删除用户信息
                //     uni.showToast({ title: '登录已过期', icon: 'none' });
                //     uni.reLaunch({ url: '/pages/login/login' });
                // }
            }
        })
    });
}
export default request;